package com.office.meeting.domain;

import java.util.Calendar;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.office.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.office.common.annotation.Excel;

/**
 * 会议详细对象 conference_invitation
 * 
 * @author 柒月
 * @date 2025-06-10
 */
public class Detailed extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 会议发起人的id */
    private Long inviterId;

    /** 邀请用户的id */
    private Long userId;

    /** 会议名称 */
    private String meetingName;

    /** 会议开始时间 */
    private Date startTime;

    /** 会议密码 */
    private String password;

    /** 主键 */
    private Long id;

    @Excel(name = "用户名")
    private String nickName;

    @Excel(name = "手机号")
    private String phonenumber;

    /** 性别*/
    private Character sex;

    /** 邀请状态 */
    @Excel(name = "邀请状态")
    private Long state;

    /** 拒绝理由 */
    @Excel(name = "拒绝理由")
    private String reason;

    /** 会议发起的时间 */
    private Date meetingLaunchDate;

    /** 签到状态 */
    @Excel(name = "签到状态")
    private Long isAttendance;

    /** 签到时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签到时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date attendanceTime;

    /** 结束时间 */
    private Date endTime;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operateTime;

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getPhonenumber() {
        return phonenumber;
    }

    public void setPhonenumber(String phonenumber) {
        this.phonenumber = phonenumber;
    }

    public Character getSex() {
        return sex;
    }

    public void setSex(Character sex) {
        this.sex = sex;
    }

    public void setInviterId(Long inviterId)
    {
        this.inviterId = inviterId;
    }

    public Long getInviterId() 
    {
        return inviterId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setMeetingName(String meetingName) 
    {
        this.meetingName = meetingName;
    }

    public String getMeetingName() 
    {
        return meetingName;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setState(Long state) 
    {
        this.state = state;
    }

    public Long getState() 
    {
        return state;
    }

    public void setReason(String reason) 
    {
        this.reason = reason;
    }

    public String getReason() 
    {
        return reason;
    }

    public void setMeetingLaunchDate(Date meetingLaunchDate) 
    {
        this.meetingLaunchDate = meetingLaunchDate;
    }

    public Date getMeetingLaunchDate() 
    {
        return meetingLaunchDate;
    }

    public void setIsAttendance(Long isAttendance) 
    {
        this.isAttendance = isAttendance;
    }

    public Long getIsAttendance() 
    {
        return isAttendance;
    }

    public void setAttendanceTime(Date attendanceTime) 
    {
        this.attendanceTime = attendanceTime;
    }

    public Date getAttendanceTime() 
    {
        return attendanceTime;
    }

    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public void setOperateTime(Date operateTime) 
    {
        this.operateTime = operateTime;
    }

    public Date getOperateTime() 
    {
        return operateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("inviterId", getInviterId())
            .append("userId", getUserId())
            .append("meetingName", getMeetingName())
            .append("startTime", getStartTime())
            .append("password", getPassword())
            .append("id", getId())
            .append("state", getState())
            .append("reason", getReason())
            .append("meetingLaunchDate", getMeetingLaunchDate())
            .append("isAttendance", getIsAttendance())
            .append("attendanceTime", getAttendanceTime())
            .append("endTime", getEndTime())
            .append("operateTime", getOperateTime())
            .toString();
    }
}
